package com.dhcc.bpm.modules.api.service;

import com.dhcc.bpm.modules.api.entity.Api;
import com.dhcc.bpm.modules.api.entity.IssueApi;
import com.dhcc.bpm.modules.api.vo.IssueApiVO;
import org.springblade.core.mp.base.BaseService;
import com.baomidou.mybatisplus.core.metadata.IPage;

import java.util.List;

/**
 * @ClassName IIssueApiService
 * @Description api发布表 服务类
 * @Author daina
 * @Date 2020/2/25 15:22
 * @Version V1.0
 * @Copyright: 2020 东华软件 . All rights reserved.
 */
public interface IIssueApiService extends BaseService<IssueApi> {

	/**
	 * @Description 自定义分页
	 * @Author daina
	 * @Date 15:52 2020/2/25
	 * @param page
	 * @param issueApi
	 * @return com.baomidou.mybatisplus.core.metadata.IPage<com.dhcc.bpm.modules.api.vo.IssueApiVO>
	 **/
	IPage<IssueApiVO> selectIssueApiPage(IPage<IssueApiVO> page, IssueApiVO issueApi);

	/**
	 * @Description 根据issueAPI.id查询api详情
	 * @Author daina
	 * @Date 15:53 2020/2/25
	 * @param id
	 * @return java.util.List<com.dhcc.bpm.modules.api.entity.Api>
	 **/
	List<Api> selectApisById(Long id);

	/**
	 * @Description 条件查询
	 * @Author daina
	 * @Date 15:53 2020/2/25
	 * @param issueApi
	 * @return java.util.List<com.dhcc.bpm.modules.api.entity.IssueApi>
	 **/
	List<IssueApi> selectByCondition(IssueApi issueApi);

	/**
	 * @Description 状态更新
	 * @Author daina
	 * @Date 15:53 2020/2/25
	 * @param id
	 * @return int
	 **/
	int updateStatus(Long id);

	/**
	 * @Description 新增
	 * @Author daina
	 * @Date 15:53 2020/2/25
	 * @param issueApi
	 * @return int
	 **/
	int insert(IssueApi issueApi);

	/**
	 * @Description 根据id查询信息
	 * @Author sjm
	 * @Date 10:02 2020/3/11 0011
	 * @param busNo
	 * @return com.dhcc.bpm.modules.api.entity.IssueApi
	 **/
    IssueApi getIssueApiById(Long busNo);

    /**
     * @Description 根据apiid查询信息
     * @Author sjm
     * @Date 17:59 2020/4/1 0001
     * @param busNo
     * @return com.dhcc.bpm.modules.api.entity.IssueApi
     **/
	IssueApi selectByApiId(Long busNo);

	/**
	 * @Description 根据apiid删除数据
	 * @Author sjm
	 * @Date 17:59 2020/4/1 0001
	 * @param busNo
	 * @return com.dhcc.bpm.modules.api.entity.IssueApi
	 **/
	Integer deleteById(Long busNo);
}
